import axios from 'axios'

/**
 * 获取通知列表
 * @param {object} params - 查询参数，例如 { message_type, page, size }
 * @returns
 */
export function getNotificationList(params) {
    return axios.get('/api/notifications/', {
        params
    })
}

/**
 * 获取单个通知详情
 * @param {number} id - 通知ID
 * @returns
 */
export function getNotificationDetail(id) {
    return axios.get(`/api/notifications/${id}/`)
}

/**
 * 创建通知
 * @param {object} data - 通知数据
 * @returns
 */
export function createNotification(data) {
    return axios.post('/api/notifications/', data)
}

/**
 * 更新通知
 * @param {number} id - 通知ID
 * @param {object} data - 通知数据
 * @returns
 */
export function updateNotification(id, data) {
    return axios.put(`/api/notifications/${id}/`, data)
}

/**
 * 删除通知
 * @param {number} id - 通知ID
 * @returns
 */
export function deleteNotification(id) {
    return axios.delete(`/api/notifications/${id}/`)
}

/**
 * 发布草稿通知
 * @param {number} id - 通知ID
 * @param {object} data - 可选，包含目标受众等发布参数
 * @returns
 */
export function publishNotification(id, data = {}) {
    return axios.post(`/api/notifications/${id}/publish/`, data)
}

/**
 * 获取推送目标选项
 * @returns
 */
export function getPushTargetOptions() {
    // 这个接口需要后端提供，这里只是一个示例
    return Promise.resolve({});
}

/**
 * 获取问题反馈列表
 * @param {object} params - 查询参数 { status, page, size }
 */
export function getFeedbackList(params) {
    return axios.get('/api/notifications/feedbacks/', { params })
}

/**
 * 获取问题反馈详情
 * @param {number} id 反馈ID
 */
export function getFeedbackDetail(id) {
    return axios.get(`/api/notifications/feedbacks/${id}/`)
}

/**
 * 更新问题反馈
 * @param {number} id 反馈ID
 * @param {object} data 更新数据
 */
export function updateFeedback(id, data) {
    return axios.put(`/api/notifications/feedbacks/${id}/`, data)
} 